/*
 * mlp.h
 *
 *  Created on: Jan 25, 2014
 *      Author: filipe
 */

#ifndef MLP_H_
#define MLP_H_

	// initializa the neural net configuration
	void mlp_initialize_config(int num_layers, int *num_neurons_per_layer, int data_dim, double learning_factor, int max_iteractions, double acceptable_error, bool use_batch);

	// alloc and initialize the network
	void mlp_build_netowrk();

	// print the network
	void mlp_print();

	// train the net
	void mlp_train(double **input, double **expected_output, int num_examples);

	// execute the net
	void mlp_test(double **input, double **net_output, int num_examples);

	// free the network
	void mlp_free();

#endif
